package com.daocao.ds.api;

import io.reactivex.Observable;

import com.daocao.ds.api.bean.DealListBean;
import com.daocao.ds.api.bean.DealMoneyBean;
import com.daocao.ds.api.bean.DealPayBean;
import com.daocao.ds.api.bean.IdBean;
import com.daocao.ds.api.bean.InitAppBean;
import com.daocao.ds.api.bean.LoanerLogBean;
import com.daocao.ds.api.bean.LoginBean;
import com.daocao.ds.api.bean.ManagerListBean;
import com.daocao.ds.api.bean.ModifyCheckCodeBean;
import com.daocao.ds.api.bean.ModifySendBean;
import com.daocao.ds.api.bean.OrderDetailBean;
import com.daocao.ds.api.bean.OrderDetailModel;
import com.daocao.ds.api.bean.OrderListBean;
import com.daocao.ds.api.bean.OrderListModel;
import com.daocao.ds.api.bean.PayPassSetBean;
import com.daocao.ds.api.bean.ResponModel;
import com.daocao.ds.api.bean.RuleSaveBean;
import com.daocao.ds.api.bean.RuleSwitchBean;
import com.daocao.ds.api.bean.UploadImageBean;
import com.daocao.ds.api.bean.UploadImageModel;
import com.daocao.ds.api.model.DealDetailModel;
import com.daocao.ds.api.model.DealListModel;
import com.daocao.ds.api.model.DealLockModel;
import com.daocao.ds.api.model.InitAppModel;
import com.daocao.ds.api.model.LoanerIndexModel;
import com.daocao.ds.api.model.LoanerLogsModel;
import com.daocao.ds.api.model.LoginModel;
import com.daocao.ds.api.model.ManagerListModel;
import com.daocao.ds.api.model.MessageListModel;
import com.daocao.ds.api.model.ModifyCheckCodeModel;
import com.daocao.ds.api.model.RuleListModel;
import com.daocao.ds.api.model.SetttingWechatModel;
import com.daocao.ds.api.model.UserModel;

import retrofit2.http.Body;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * Created by xsooy-pc on 2017/8/24.
 */

public interface ApiService {
    //1、线下充值列表
    @POST("logout")
    Observable<OrderListModel> getLogout();


    @POST("appinit")
    Observable<InitAppModel> getInitInfo(@Body InitAppBean item);

    //4.19、客服中心
    @POST("/v1/index/kefu")
    Observable<SetttingWechatModel> getSettingWechat();

    //1.3、登录
    @POST("/v1/login")
    Observable<LoginModel> getLogin(@Body LoginBean item);

    @POST("/v1/smscode/send")
    Observable<ResponModel> getSmsSend(@Body ModifySendBean item);

    //0.1.2、验证短信验证码
    @POST("/v1/smscode/verifycode")
    Observable<ModifyCheckCodeModel> getSmsCheck(@Body ModifyCheckCodeBean item);


    //    退出登录
    @POST("/logout")
    Observable<ResponModel> getLogoutInfo();

    //    2、借款列表
    @POST("/v1/deal/lists")
    Observable<DealListModel> getDealList(@Body DealListBean item);

    //    3、借款详情
    @POST("/v1/deal/detail")
    Observable<DealDetailModel> getDealDetail(@Body IdBean item);

    //    4、立即抢单
    @POST("/v1/deal/locking")
    Observable<DealLockModel> getDealLock(@Body IdBean item);

    //    5、支付
    @POST("/v1/deal/bid")
    Observable<ResponModel> getDealPay(@Body DealPayBean item);

    //    6.1、我的
    @POST("/v1/loaner/index")
    Observable<UserModel> getUser();


    //6.2、设置交易密码
    @POST("/v1/loaner/paypasswd")
    Observable<ResponModel> getPayPassSet(@Body PayPassSetBean item);

    //6.3、交易记录
    @POST("/v1/loaner/logs")
    Observable<LoanerLogsModel> getLoanerLogs(@Query("page") int page, @Body LoanerLogBean item);

    //6.4、消息列表
    @POST("/v1/message/lists")
    Observable<MessageListModel> getMessageList(@Query("page") int page);

    //6.5、经营报表统计
    @POST("/v1/revenue/statistics")
    Observable<LoanerIndexModel> getLoanerIndex(@Body LoanerLogBean item);

    //6.6、经营报表列表
    @POST("/v1/loaner/mydeals")
    Observable<ManagerListModel> getManagerList(@Body ManagerListBean item);

    //6.7.1、开启 / 关闭
    @POST("/v1/autoloanrules/switching")
    Observable<ResponModel> getRuleSwitch(@Body RuleSwitchBean item);

    //6.7.2、规则选项列表
    @POST("/v1/autoloanrules/rules")
    Observable<RuleListModel> getRulesList();

    //6.7.2、规则选项列表
    @POST("/v1/autoloanrules/save")
    Observable<ResponModel> getRulesSave(@Body RuleSaveBean item);
}
